package com.ruoyi.dmpcomponent.mapper;

import java.util.List;
import com.ruoyi.dmpcomponent.domain.DmpComponentConfig;
import com.ruoyi.dmpcomponent.domain.DmpComponentConfigParams;

/**
 * 通用组件配置Mapper接口
 * 
 * @author MquanZeng
 * @date 2021-12-22
 */
public interface DmpComponentConfigMapper 
{
    /**
     * 查询通用组件配置
     * 
     * @param compId 通用组件配置主键
     * @return 通用组件配置
     */
    public DmpComponentConfig selectDmpComponentConfigByCompId(Long compId);

    /**
     * 查询通用组件配置列表
     * 
     * @param dmpComponentConfig 通用组件配置
     * @return 通用组件配置集合
     */
    public List<DmpComponentConfig> selectDmpComponentConfigList(DmpComponentConfig dmpComponentConfig);

    /**
     * 新增通用组件配置
     * 
     * @param dmpComponentConfig 通用组件配置
     * @return 结果
     */
    public int insertDmpComponentConfig(DmpComponentConfig dmpComponentConfig);

    /**
     * 修改通用组件配置
     * 
     * @param dmpComponentConfig 通用组件配置
     * @return 结果
     */
    public int updateDmpComponentConfig(DmpComponentConfig dmpComponentConfig);

    /**
     * 删除通用组件配置
     * 
     * @param compId 通用组件配置主键
     * @return 结果
     */
    public int deleteDmpComponentConfigByCompId(Long compId);

    /**
     * 批量删除通用组件配置
     * 
     * @param compIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmpComponentConfigByCompIds(Long[] compIds);

    /**
     * 批量删除通用组件配置键值对参数
     * 
     * @param compIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmpComponentConfigParamsByCompIds(Long[] compIds);
    
    /**
     * 批量新增通用组件配置键值对参数
     * 
     * @param dmpComponentConfigParamsList 通用组件配置键值对参数列表
     * @return 结果
     */
    public int batchDmpComponentConfigParams(List<DmpComponentConfigParams> dmpComponentConfigParamsList);
    

    /**
     * 通过通用组件配置主键删除通用组件配置键值对参数信息
     * 
     * @param compId 通用组件配置ID
     * @return 结果
     */
    public int deleteDmpComponentConfigParamsByCompId(Long compId);


    /**
     * 获取所有组件
     *
     * @return 结果
     */
    public List<DmpComponentConfig> selectAllCompOptions();
}
